(byte-compile, byte-compile-keep-pending)
authorRichard M. Stallman <rms@gnu.org>
Sat, 17 Apr 1993 01:26:24 +0000 (01:26 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 17 Apr 1993 01:26:24 +0000 (01:26 +0000)
(byte-compile-file-form-defmumble): Generate define-function
rather than fset, to install definitions for defun, defmacro, etc.

lisp/emacs-lisp/bytecomp.el

index ab40f109e9364bdd86679c17192279114ec38152..b5f2bbaefd0c794a96e7485a61c3fc5301657fc3 100644 (file)
@@ -1334,8 +1334,8 @@ With argument, insert value in current buffer after the form."
   ;; writes the given form to the output buffer, being careful of docstrings
   ;; in defun, defmacro, defvar, defconst and autoload because make-docfile is
   ;; so amazingly stupid.
-  ;; fset's are output directly by byte-compile-file-form-defmumble; it does
-  ;; not pay to first build the fset in defmumble and then parse it here.
+  ;; define-functions are output directly by byte-compile-file-form-defmumble; it does
+  ;; not pay to first build the define-function in defmumble and then parse it here.
   (if (and (memq (car-safe form) '(defun defmacro defvar defconst autoload))
           (stringp (nth 3 form)))
       (byte-compile-output-docform '("\n(" 3 ")") form)
@@ -1376,7 +1376,7 @@ With argument, insert value in current buffer after the form."
       (let ((for-effect t))
        ;; To avoid consing up monstrously large forms at load time, we split
        ;; the output regularly.
-       (and (eq (car-safe form) 'fset) (nthcdr 300 byte-compile-output)
+       (and (eq (car-safe form) 'define-function) (nthcdr 300 byte-compile-output)
             (byte-compile-flush-pending))
        (funcall handler form)
        (if for-effect
@@ -1569,9 +1569,9 @@ With argument, insert value in current buffer after the form."
                                         new-one)))))
             'byte-compile-two-args)
          ;; Output the form by hand, that's much simpler than having
-         ;; b-c-output-file-form analyze the fset.
+         ;; b-c-output-file-form analyze the define-function.
          (byte-compile-flush-pending)
-         (princ "\n(fset '" outbuffer)
+         (princ "\n(define-function '" outbuffer)
          (prin1 name outbuffer)
          (byte-compile-output-docform
           (cond ((atom code)
@@ -1602,7 +1602,7 @@ If FORM is a lambda or a macro, byte-compile it as a function."
                           (cons 'macro (byte-compile-lambda fun))
                         (byte-compile-lambda fun)))
             (if (symbolp form)
-                (fset form fun)
+                (define-function form fun)
               fun)))))))
 
 (defun byte-compile-sexp (sexp)